1
תגובות

צ'אט עם AJAX

פתח ניב ,
היי, אני רוצה ליצור צ'אט עם AJAX.
יש לי דיב שבו אני אציג את הנתונים של הצ'אט:
<div id="chat">text<div>

ויש לי FORM שדרכו ניתן לשלוח הודעות:
<form action="" onsubmit="question('{$_POST['question']}','{$user}') ">
    <table>
      <tr>
        <td>
          <input type="text" name="question" class="input" onfocus="this.style.backgroundColor='#e7f4fd'" onblur="this.style.backgroundColor='#FFF'" />

          <input type="submit" name="submit" value="שלח" />
        </td>
      </tr>
    </table>
    </form>

וזה הקוד JS שלי:

function question(question,mid) {
  var question;
  if (window.XMLHttpRequest)
  {
      question = new XMLHttpRequest();
  }
  else
  {
    question = new ActiveXObject("Microsoft.XMLHTTP");
  }
  question.onreadystatechange=function()
  {
    if (question.readyState == 4)
      {
        document.getElementById('chat').innerHTML = question.responseText;
      }
      else
      {
        document.getElementById('chat').innerHTML = '<img src="images/load.gif" alt="" />';
      }
  }
  var enc = "ajax.php?sid="+ Math.random();
  question.open("POST", enc, true);
  question.send(null);
}

משום מה הקוד לא עובד לי, אבל דיי קשה לי להתעסק איתו כי אחיכם תקוע במחסום וכותב מהאייפון, אני מאמין שכשאגיע לבית אוכל לפתור את הבעיה, רק מה שתהיתי זה איך אוכל לעשות שבעת שליחת ההודעה חלון השיחה לא יתנקה (הרי השיחה מוצגת בDIV CHAT והוא מאפס אותו) האם ישנה אלטרנטיבה אחרת חוץ מלשמור את השיחה במסד הנתונים?

תודה רבה, אוהב ושומר עליכם מרחוק :)

1 תשובות

avatar ענה intval ב 21 לאוגוסט 2012 #

document.getElementById('chat').innerHTML = question.responseText;

זה השורה שמאפסת את התוכן.
תנסה להבין למה ובמה צריך להחליף את האופרטור = בשביל שהתוכן ישאר.